package com.devin.dao;

import com.devin.pojo.Traveller;
import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.cache.decorators.LruCache;

import java.util.List;

@Mapper
public interface MultiMapper {
    void addUserAndRoles(@Param("userId") Integer userId, @Param("roleIds")Integer[] roleIds);

    void addRoles(@Param("userId") Integer userId, @Param("roleIds") Integer[] roleIds);

    void delUsersAndRoles(Integer[] userIds);

    void delUsers(Integer[] userIds);

    void addRoleAndPermissions(@Param("roleId") Integer id, @Param("permissionIds") Integer[] permissionIds);

    void addPermissions(@Param("roleId") Integer roleId, @Param("permissionIds") Integer[] permissionIds);

    void delRolesAndPermissions(Integer[] roleIds);

    void delRoles(Integer[] roleIds);

    void delPermissionsChecked(Integer[] ids);

    void delProductsChecked(Integer[] ids);

    void addTravellers(List<Traveller> travellers);

    void addOrderAndTravellers(@Param("orderId") Integer id, @Param("travellers") List<Traveller> travellers);

    void delMemberByOrderId(Integer[] ids);

    void delTravellers(Integer[] ids);

    void delOrdersAndTravellers(Integer[] ids);

    void delOrdersChecked(Integer[] ids);

    void delLogsChecked(Integer[] ids);
}
